<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>贪婪量词和惰性量词</title>
</head>
<body>
    <script>
        // 【贪婪量词】
        // . 它表示匹配除了换行符之外的任意字符
        // .+ 表示任意多个字符（除换行） 

        // 正则表达式 ".+" 默认使用贪婪匹配，它会尽可能多地匹配字符，直到最后一个可用的 " 为止。所以结果是 "witch" and her "broom"。
        // 点（.）能够匹配所有字符，所以只有在移至字符串末尾时才停止匹配。
        let reg1 = /".+"/g
        let str1 = 'a "witch" and her "broom" is one'
        console.log(str1.match(reg1).toString()) // "witch" and her "broom"
    </script>

    <script>
        // 【惰性量词】
        // 惰性模式：通过在量词后添加问号 ? 来启用。在不必要的情况下不会重复任何东西。
        // 在量词后面添加一个问号 '?' 来启用它，这样匹配模式就变成了 *? 或 +?，甚至是 '?' 变成 ??。
        let reg2 = /".+?"/g
        let str2 = 'a "witch" and her "broom" is one'
        console.log(str2.match(reg2).toString()) // "witch","broom"
    </script>
</body>
</html> 